package com.wxapp.sale.service.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.wxapp.common.constant.pojo.vm.ResultVm;
import com.wxapp.common.constant.pojo.vo.UserVo;
import com.wxapp.sale.api.pojo.vm.goodsSpec.*;
import com.wxapp.sale.api.pojo.vo.goodsSpec.*;

import java.util.List;

/**
 * @author lgl
 * @Description
 * @Datetime 2023/4/23 16:14
 * @Modified By
 */
public interface GoodsSpecService {
    ResultVm<String> add(UserVo userVo, QGoodSpecAddVo qGoodSpecAddVo);

    ResultVm<String> update(UserVo userVo, QGoodSpecUpdateVo qGoodSpecUpdateVo);

    ResultVm<String> delete(UserVo userVo, String id);

    ResultVm<String> editDetail(UserVo userVo,String id, List<QGoodSpecDetailUpdateVo> vo);

    ResultVm<PGoodSpecDetailVm> detail(String id);

    ResultVm<IPage<PGoodSpecPageVm>> page(QGoodSpecPageVo qGoodSpecPageVo, UserVo userVo);

    ResultVm<List<PGoodSpecDetailListVm>> detailList(String id, UserVo userVo);

    ResultVm<List<PGoodSpecSelectVm>> selectSpec(String name, UserVo userVo);

    ResultVm<List<PGoodSpecSelectVm>> selectSpecDetail(String specId, String name, UserVo userVo);

    ResultVm<List<PGoodsSpecVm>> getListByTypeId(String typeId);

    ResultVm<List<PGoodSpecDetailBaseVm>> getSpecDetailByPid(String specId);
}
